/*buffer缓冲区  相当于数组
buffer的结构和数组很像 操作方法也和数组类似 数组中不能存储二进制文件 而buffer就是专门用来存储二进制数据
*使用buffer不需要引入模块 直接使用即可
在buffer中存储的都是二进制文件 但是在显示时都是以16进制的形式显示的 unicode编码
buffer的范围是00-ff (16进制) 0-255 (十进制) 00000000-11111111(二进制 )计算机一个0或一个1称为1位(bit)
    8bit=1byte(字节)
    1024byte=1kb
    1024kb=1mb
    1024mb=1gb
    1024gb=1tb
    汉字占内存3个字节
buffer中的一个元素 占用内存里的一个字节
buffer构造函数都是不推荐使用的 废弃的
只要数字在控制台或页面中输出一定是10进制
alloc 分配空间 清空数据 一般用这个
allocUnsafe 分配空间  不清空数据
    Buffer.from(str) 将一个字符串转换成Buffer
    Buffer.alloc(size) 创建一个特定大小的Buffer
    Buffer.allocUnsafe 创建一个指定大小的 Buffer  但是可能包含敏感数据
    buf.toString()将缓冲区的数据转换为字符串
* */

// var str="hello guigu";
// var buf=Buffer.from(str);// 把字符串str放入buffer里 并把值返回
// console.log(buf);// <Buffer 68 65 6c 6c 6f 20 67 75 69 67 75> 每一个字母对应的二进制数据
//
// console.log(buf.length);//返回值11 占用内存的大小
// console.log(str.length);//返回值11 字符串的长度


//创建一个指定大小的buffer

// var buf2=new.Buffer(10);//10个字节的buffer
//创建10个字节的buffer
var buf3=Buffer.alloc(10);
buf3[0]=255;
buf3[1]=0xaa;
buf3[2]=100;
buf3[3]=564;
// console.log(buf3); //10
//
// console.log(buf3[1]);//只要数字在控制台或页面中输出一定是10进制
 //buffer遍历
// for (var i=0;i<buf3.length;i++){
//     console.log(buf3[i]);
// }
// var buf4=Buffer.allocUnsafe(10);//<Buffer 08 12 6e c7 41 02 00 00 00 00>
// console.log(buf4);

var buf5=Buffer.from("我是一个文本数据");
console.log(buf5.toString());